import java.util.Arrays;
import java.util.Scanner;

public class text {

    //存在连续三个奇数的数组
    //给你一个整数数组 arr，请你判断数组中是否存在连续三个元素都是奇数的情况：如果存在，请返回 true ；否则，返回 false 。

    public static boolean fun3(int[] array){

        int tmp = 0;

        for (int i = 0; i < array.length-2; i++) {
            for (int j = i; j < i+3; j++) {
                if(array[j] %2 != 0) {
                    tmp++;
                }
            }
            if(tmp == 3){
                return true;
            }
        }

        return false;
    }


    public static void main(String[] args) {

        int[] arr = new int[]{2,6,4,1,3,5};

        System.out.println(fun3(arr));



    }



    //给定一个大小为 n 的数组，找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素


    public static int fun2(int[] array){

        int cmp = 0;
        int tmp = 0;
        int max = 0;
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array.length; j++) {
                if(array[i] == array[j]){
                    cmp++;
                }
            }
            if(max < cmp ){
                max = cmp;
                tmp = i;
            }
            cmp = 0;
        }
        return array[tmp];


    }


    public static void main4(String[] args) {

        int[] array = new int[]{4,1,2,1,2,4,999,1};

        System.out.println(fun2(array) + "这个数在该数组中出现的次数最多");
    }



    //给定一个非空整数数组，除了某个元素只出现一次以外，其余每个元素均出现两次。找出那个只出现了一次的元素

    public static int fun1(int[] array){

        int cmp = 0;
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array.length; j++) {
                if(array[i] == array[j]){
                    cmp++;
                }
            }
            if(cmp > 1){
                cmp = 0;
            }else{
                return array[i];
            }
        }
        return -1;
    }



    public static void main3(String[] args) {

        int[] array = new int[]{4,1,2,1,2,4,999};

        System.out.println(fun1(array) + "这个数在该数组中只出现了一次");

    }





    //给定一个整数数组 nums 和一个整数目标值 给定一个整数数组 nums 和一个整数目标值 target，请你在该数组中找出 和为目标值 target 的那 两个 整数，并返回它们的数组下标。，请你在该数组中找出 和为目标值 target 的那 两个 整数，并返回它们的数组下标。

    public static String fun(int[] nums, int target){

        String str = "";
        for (int i = 0; i < nums.length - 1; i++) {
            for (int j = 1; j < nums.length; j++) {
                if( i != j && nums[i] + nums[j] == target){
                    str = i + "," + j;
                    return str;
                }
            }
        }
        if(str == ""){
            str = "未找到该数字之和";
        }
        return str;
    }


    public static void main2(String[] args) {

        int[] nums = new int[]{2,7,11,15};

        Scanner sc = new Scanner(System.in);
        int target = sc.nextInt();

        System.out.println(fun(nums,target));
    }



    //奇数位于偶数之前

    public static int[] aNew(int[] array){
        int left = 0;
        int right = array.length - 1;

        while(left < right){
            while(array[left] % 2 == 0){ //偶数
                int tmp = array[left];
                array[left] = array[right];
                array[right] = tmp;
                right--;
            }
            left++;
        }
        return array;
    }

    public static void main1(String[] args) {
        int[] array = new int[]{1,2,3,4,5,6,7,8,9};

        String str = Arrays.toString(aNew(array));
        System.out.println(str);
    }
}
